package com.bsoft.gol.hcs.clinical.entity;

import javax.persistence.*;
import java.sql.Timestamp;

@Entity
@Table(name = "app_doctor",  catalog = "")
public class AppDoctor {
    private long id;
    private Long uid;
    private String code;
    private String name;
    private Integer doctorTitle;
    private String professionaltitle;
    private String expert;
    private String introduce;
    private Byte sexcode;
    private Timestamp birthdate;
    private String header;
    private String spell;
    private Byte sources;
    private Byte flag;
    private Timestamp createdate;
    private Long createuser;
    private Long lastmodifyuser;
    private Timestamp lastmodifydate;
    private String sortnumber;
    private String mobile;
    private String idCard;
    private String recipelSigPicUrl;
    private Byte recipelAuditAuthority;
    private String pracType;
    private String certNo;
    private String certPicUrl;
    private String pracNo;
    private String pracPicUrl;
    private String netServiceFlag;
    private String firstCompenyCode;
    private String firstCompenyName;
    private String secdCompenyCode;
    private String secdCompenyName;
    private String threeCompenyCode;
    private String threeCompenyName;
    private String supervisonUploadFlag;
    private Timestamp supervisonUploadTime;
    private Long administrationDeptId;
    private String administrationDeptName;

    @Id
    @Column(name = "ID")
    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "UID")
    public Long getUid() {
        return uid;
    }

    public void setUid(Long uid) {
        this.uid = uid;
    }

    @Basic
    @Column(name = "CODE")
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    @Basic
    @Column(name = "NAME")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Basic
    @Column(name = "doctor_title")
    public Integer getDoctorTitle() {
        return doctorTitle;
    }

    public void setDoctorTitle(Integer doctorTitle) {
        this.doctorTitle = doctorTitle;
    }

    @Basic
    @Column(name = "PROFESSIONALTITLE")
    public String getProfessionaltitle() {
        return professionaltitle;
    }

    public void setProfessionaltitle(String professionaltitle) {
        this.professionaltitle = professionaltitle;
    }

    @Basic
    @Column(name = "EXPERT")
    public String getExpert() {
        return expert;
    }

    public void setExpert(String expert) {
        this.expert = expert;
    }

    @Basic
    @Column(name = "INTRODUCE")
    public String getIntroduce() {
        return introduce;
    }

    public void setIntroduce(String introduce) {
        this.introduce = introduce;
    }

    @Basic
    @Column(name = "SEXCODE")
    public Byte getSexcode() {
        return sexcode;
    }

    public void setSexcode(Byte sexcode) {
        this.sexcode = sexcode;
    }

    @Basic
    @Column(name = "BIRTHDATE")
    public Timestamp getBirthdate() {
        return birthdate;
    }

    public void setBirthdate(Timestamp birthdate) {
        this.birthdate = birthdate;
    }

    @Basic
    @Column(name = "HEADER")
    public String getHeader() {
        return header;
    }

    public void setHeader(String header) {
        this.header = header;
    }

    @Basic
    @Column(name = "SPELL")
    public String getSpell() {
        return spell;
    }

    public void setSpell(String spell) {
        this.spell = spell;
    }

    @Basic
    @Column(name = "SOURCES")
    public Byte getSources() {
        return sources;
    }

    public void setSources(Byte sources) {
        this.sources = sources;
    }

    @Basic
    @Column(name = "FLAG")
    public Byte getFlag() {
        return flag;
    }

    public void setFlag(Byte flag) {
        this.flag = flag;
    }

    @Basic
    @Column(name = "CREATEDATE")
    public Timestamp getCreatedate() {
        return createdate;
    }

    public void setCreatedate(Timestamp createdate) {
        this.createdate = createdate;
    }

    @Basic
    @Column(name = "CREATEUSER")
    public Long getCreateuser() {
        return createuser;
    }

    public void setCreateuser(Long createuser) {
        this.createuser = createuser;
    }

    @Basic
    @Column(name = "LASTMODIFYUSER")
    public Long getLastmodifyuser() {
        return lastmodifyuser;
    }

    public void setLastmodifyuser(Long lastmodifyuser) {
        this.lastmodifyuser = lastmodifyuser;
    }

    @Basic
    @Column(name = "LASTMODIFYDATE")
    public Timestamp getLastmodifydate() {
        return lastmodifydate;
    }

    public void setLastmodifydate(Timestamp lastmodifydate) {
        this.lastmodifydate = lastmodifydate;
    }

    @Basic
    @Column(name = "SORTNUMBER")
    public String getSortnumber() {
        return sortnumber;
    }

    public void setSortnumber(String sortnumber) {
        this.sortnumber = sortnumber;
    }

    @Basic
    @Column(name = "mobile")
    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    @Basic
    @Column(name = "idCard")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    @Basic
    @Column(name = "recipel_sig_pic_url")
    public String getRecipelSigPicUrl() {
        return recipelSigPicUrl;
    }

    public void setRecipelSigPicUrl(String recipelSigPicUrl) {
        this.recipelSigPicUrl = recipelSigPicUrl;
    }

    @Basic
    @Column(name = "recipel_audit_authority")
    public Byte getRecipelAuditAuthority() {
        return recipelAuditAuthority;
    }

    public void setRecipelAuditAuthority(Byte recipelAuditAuthority) {
        this.recipelAuditAuthority = recipelAuditAuthority;
    }

    @Basic
    @Column(name = "prac_type")
    public String getPracType() {
        return pracType;
    }

    public void setPracType(String pracType) {
        this.pracType = pracType;
    }

    @Basic
    @Column(name = "cert_no")
    public String getCertNo() {
        return certNo;
    }

    public void setCertNo(String certNo) {
        this.certNo = certNo;
    }

    @Basic
    @Column(name = "cert_pic_url")
    public String getCertPicUrl() {
        return certPicUrl;
    }

    public void setCertPicUrl(String certPicUrl) {
        this.certPicUrl = certPicUrl;
    }

    @Basic
    @Column(name = "prac_no")
    public String getPracNo() {
        return pracNo;
    }

    public void setPracNo(String pracNo) {
        this.pracNo = pracNo;
    }

    @Basic
    @Column(name = "prac_pic_url")
    public String getPracPicUrl() {
        return pracPicUrl;
    }

    public void setPracPicUrl(String pracPicUrl) {
        this.pracPicUrl = pracPicUrl;
    }

    @Basic
    @Column(name = "net_service_flag")
    public String getNetServiceFlag() {
        return netServiceFlag;
    }

    public void setNetServiceFlag(String netServiceFlag) {
        this.netServiceFlag = netServiceFlag;
    }

    @Basic
    @Column(name = "first_compeny_code")
    public String getFirstCompenyCode() {
        return firstCompenyCode;
    }

    public void setFirstCompenyCode(String firstCompenyCode) {
        this.firstCompenyCode = firstCompenyCode;
    }

    @Basic
    @Column(name = "first_compeny_name")
    public String getFirstCompenyName() {
        return firstCompenyName;
    }

    public void setFirstCompenyName(String firstCompenyName) {
        this.firstCompenyName = firstCompenyName;
    }

    @Basic
    @Column(name = "secd_compeny_code")
    public String getSecdCompenyCode() {
        return secdCompenyCode;
    }

    public void setSecdCompenyCode(String secdCompenyCode) {
        this.secdCompenyCode = secdCompenyCode;
    }

    @Basic
    @Column(name = "secd_compeny_name")
    public String getSecdCompenyName() {
        return secdCompenyName;
    }

    public void setSecdCompenyName(String secdCompenyName) {
        this.secdCompenyName = secdCompenyName;
    }

    @Basic
    @Column(name = "three_compeny_code")
    public String getThreeCompenyCode() {
        return threeCompenyCode;
    }

    public void setThreeCompenyCode(String threeCompenyCode) {
        this.threeCompenyCode = threeCompenyCode;
    }

    @Basic
    @Column(name = "three_compeny_name")
    public String getThreeCompenyName() {
        return threeCompenyName;
    }

    public void setThreeCompenyName(String threeCompenyName) {
        this.threeCompenyName = threeCompenyName;
    }

    @Basic
    @Column(name = "supervison_upload_flag")
    public String getSupervisonUploadFlag() {
        return supervisonUploadFlag;
    }

    public void setSupervisonUploadFlag(String supervisonUploadFlag) {
        this.supervisonUploadFlag = supervisonUploadFlag;
    }

    @Basic
    @Column(name = "supervison_upload_time")
    public Timestamp getSupervisonUploadTime() {
        return supervisonUploadTime;
    }

    public void setSupervisonUploadTime(Timestamp supervisonUploadTime) {
        this.supervisonUploadTime = supervisonUploadTime;
    }

    @Basic
    @Column(name = "administration_dept_id")
    public Long getAdministrationDeptId() {
        return administrationDeptId;
    }

    public void setAdministrationDeptId(Long administrationDeptId) {
        this.administrationDeptId = administrationDeptId;
    }

    @Basic
    @Column(name = "administration_dept_name")
    public String getAdministrationDeptName() {
        return administrationDeptName;
    }

    public void setAdministrationDeptName(String administrationDeptName) {
        this.administrationDeptName = administrationDeptName;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        AppDoctor appDoctor = (AppDoctor) o;

        if (id != appDoctor.id) {
            return false;
        }
        if (uid != null ? !uid.equals(appDoctor.uid) : appDoctor.uid != null) {
            return false;
        }
        if (code != null ? !code.equals(appDoctor.code) : appDoctor.code != null) {
            return false;
        }
        if (name != null ? !name.equals(appDoctor.name) : appDoctor.name != null) {
            return false;
        }
        if (doctorTitle != null ? !doctorTitle.equals(appDoctor.doctorTitle) : appDoctor.doctorTitle != null) {
            return false;
        }
        if (professionaltitle != null ? !professionaltitle.equals(appDoctor.professionaltitle) : appDoctor.professionaltitle != null) {
            return false;
        }
        if (expert != null ? !expert.equals(appDoctor.expert) : appDoctor.expert != null) {
            return false;
        }
        if (introduce != null ? !introduce.equals(appDoctor.introduce) : appDoctor.introduce != null) {
            return false;
        }
        if (sexcode != null ? !sexcode.equals(appDoctor.sexcode) : appDoctor.sexcode != null) {
            return false;
        }
        if (birthdate != null ? !birthdate.equals(appDoctor.birthdate) : appDoctor.birthdate != null) {
            return false;
        }
        if (header != null ? !header.equals(appDoctor.header) : appDoctor.header != null) {
            return false;
        }
        if (spell != null ? !spell.equals(appDoctor.spell) : appDoctor.spell != null) {
            return false;
        }
        if (sources != null ? !sources.equals(appDoctor.sources) : appDoctor.sources != null) {
            return false;
        }
        if (flag != null ? !flag.equals(appDoctor.flag) : appDoctor.flag != null) {
            return false;
        }
        if (createdate != null ? !createdate.equals(appDoctor.createdate) : appDoctor.createdate != null) {
            return false;
        }
        if (createuser != null ? !createuser.equals(appDoctor.createuser) : appDoctor.createuser != null) {
            return false;
        }
        if (lastmodifyuser != null ? !lastmodifyuser.equals(appDoctor.lastmodifyuser) : appDoctor.lastmodifyuser != null) {
            return false;
        }
        if (lastmodifydate != null ? !lastmodifydate.equals(appDoctor.lastmodifydate) : appDoctor.lastmodifydate != null) {
            return false;
        }
        if (sortnumber != null ? !sortnumber.equals(appDoctor.sortnumber) : appDoctor.sortnumber != null) {
            return false;
        }
        if (mobile != null ? !mobile.equals(appDoctor.mobile) : appDoctor.mobile != null) {
            return false;
        }
        if (idCard != null ? !idCard.equals(appDoctor.idCard) : appDoctor.idCard != null) {
            return false;
        }
        if (recipelSigPicUrl != null ? !recipelSigPicUrl.equals(appDoctor.recipelSigPicUrl) : appDoctor.recipelSigPicUrl != null) {
            return false;
        }
        if (recipelAuditAuthority != null ? !recipelAuditAuthority.equals(appDoctor.recipelAuditAuthority) : appDoctor.recipelAuditAuthority != null) {
            return false;
        }
        if (pracType != null ? !pracType.equals(appDoctor.pracType) : appDoctor.pracType != null) {
            return false;
        }
        if (certNo != null ? !certNo.equals(appDoctor.certNo) : appDoctor.certNo != null) {
            return false;
        }
        if (certPicUrl != null ? !certPicUrl.equals(appDoctor.certPicUrl) : appDoctor.certPicUrl != null) {
            return false;
        }
        if (pracNo != null ? !pracNo.equals(appDoctor.pracNo) : appDoctor.pracNo != null) {
            return false;
        }
        if (pracPicUrl != null ? !pracPicUrl.equals(appDoctor.pracPicUrl) : appDoctor.pracPicUrl != null) {
            return false;
        }
        if (netServiceFlag != null ? !netServiceFlag.equals(appDoctor.netServiceFlag) : appDoctor.netServiceFlag != null) {
            return false;
        }
        if (firstCompenyCode != null ? !firstCompenyCode.equals(appDoctor.firstCompenyCode) : appDoctor.firstCompenyCode != null) {
            return false;
        }
        if (firstCompenyName != null ? !firstCompenyName.equals(appDoctor.firstCompenyName) : appDoctor.firstCompenyName != null) {
            return false;
        }
        if (secdCompenyCode != null ? !secdCompenyCode.equals(appDoctor.secdCompenyCode) : appDoctor.secdCompenyCode != null) {
            return false;
        }
        if (secdCompenyName != null ? !secdCompenyName.equals(appDoctor.secdCompenyName) : appDoctor.secdCompenyName != null) {
            return false;
        }
        if (threeCompenyCode != null ? !threeCompenyCode.equals(appDoctor.threeCompenyCode) : appDoctor.threeCompenyCode != null) {
            return false;
        }
        if (threeCompenyName != null ? !threeCompenyName.equals(appDoctor.threeCompenyName) : appDoctor.threeCompenyName != null) {
            return false;
        }
        if (supervisonUploadFlag != null ? !supervisonUploadFlag.equals(appDoctor.supervisonUploadFlag) : appDoctor.supervisonUploadFlag != null) {
            return false;
        }
        if (supervisonUploadTime != null ? !supervisonUploadTime.equals(appDoctor.supervisonUploadTime) : appDoctor.supervisonUploadTime != null) {
            return false;
        }
        if (administrationDeptId != null ? !administrationDeptId.equals(appDoctor.administrationDeptId) : appDoctor.administrationDeptId != null) {
            return false;
        }
        if (administrationDeptName != null ? !administrationDeptName.equals(appDoctor.administrationDeptName) : appDoctor.administrationDeptName != null) {
            return false;
        }

        return true;
    }

    @Override
    public int hashCode() {
        int result = (int) (id ^ (id >>> 32));
        result = 31 * result + (uid != null ? uid.hashCode() : 0);
        result = 31 * result + (code != null ? code.hashCode() : 0);
        result = 31 * result + (name != null ? name.hashCode() : 0);
        result = 31 * result + (doctorTitle != null ? doctorTitle.hashCode() : 0);
        result = 31 * result + (professionaltitle != null ? professionaltitle.hashCode() : 0);
        result = 31 * result + (expert != null ? expert.hashCode() : 0);
        result = 31 * result + (introduce != null ? introduce.hashCode() : 0);
        result = 31 * result + (sexcode != null ? sexcode.hashCode() : 0);
        result = 31 * result + (birthdate != null ? birthdate.hashCode() : 0);
        result = 31 * result + (header != null ? header.hashCode() : 0);
        result = 31 * result + (spell != null ? spell.hashCode() : 0);
        result = 31 * result + (sources != null ? sources.hashCode() : 0);
        result = 31 * result + (flag != null ? flag.hashCode() : 0);
        result = 31 * result + (createdate != null ? createdate.hashCode() : 0);
        result = 31 * result + (createuser != null ? createuser.hashCode() : 0);
        result = 31 * result + (lastmodifyuser != null ? lastmodifyuser.hashCode() : 0);
        result = 31 * result + (lastmodifydate != null ? lastmodifydate.hashCode() : 0);
        result = 31 * result + (sortnumber != null ? sortnumber.hashCode() : 0);
        result = 31 * result + (mobile != null ? mobile.hashCode() : 0);
        result = 31 * result + (idCard != null ? idCard.hashCode() : 0);
        result = 31 * result + (recipelSigPicUrl != null ? recipelSigPicUrl.hashCode() : 0);
        result = 31 * result + (recipelAuditAuthority != null ? recipelAuditAuthority.hashCode() : 0);
        result = 31 * result + (pracType != null ? pracType.hashCode() : 0);
        result = 31 * result + (certNo != null ? certNo.hashCode() : 0);
        result = 31 * result + (certPicUrl != null ? certPicUrl.hashCode() : 0);
        result = 31 * result + (pracNo != null ? pracNo.hashCode() : 0);
        result = 31 * result + (pracPicUrl != null ? pracPicUrl.hashCode() : 0);
        result = 31 * result + (netServiceFlag != null ? netServiceFlag.hashCode() : 0);
        result = 31 * result + (firstCompenyCode != null ? firstCompenyCode.hashCode() : 0);
        result = 31 * result + (firstCompenyName != null ? firstCompenyName.hashCode() : 0);
        result = 31 * result + (secdCompenyCode != null ? secdCompenyCode.hashCode() : 0);
        result = 31 * result + (secdCompenyName != null ? secdCompenyName.hashCode() : 0);
        result = 31 * result + (threeCompenyCode != null ? threeCompenyCode.hashCode() : 0);
        result = 31 * result + (threeCompenyName != null ? threeCompenyName.hashCode() : 0);
        result = 31 * result + (supervisonUploadFlag != null ? supervisonUploadFlag.hashCode() : 0);
        result = 31 * result + (supervisonUploadTime != null ? supervisonUploadTime.hashCode() : 0);
        result = 31 * result + (administrationDeptId != null ? administrationDeptId.hashCode() : 0);
        result = 31 * result + (administrationDeptName != null ? administrationDeptName.hashCode() : 0);
        return result;
    }
}
